/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Messenj;

import Utils.InfoLogin;
import java.util.Hashtable;
import net.sf.jml.MsnMessenger;
import net.sf.jml.MsnUserStatus;
import net.sf.jml.impl.MsnMessengerFactory;


/**
 *
 * @author edoardo
 */
public class MessenjManager {

    MsnMessenger messenger;
    MessenjListener MjListener;
    public Messenj messenj;

    /*
     * in questa hashtable verranno memorizzate tutte le finestre
     * di chat, quando viene ricevuto un messaggio, esso viene
     * indirizzato alla giusta finestra tramite questa hashtable
     * */
    public Hashtable finestreChat;

    public MessenjManager(InfoLogin il)
    {
        messenger = MsnMessengerFactory.createMsnMessenger(il.getEmail(), il.getPass());
        messenger.getOwner().setInitStatus(il.getStatus());
        //inizializzo gli oggetti
        this.initObject();
        // aggiungo il listener al messenger
        messenger.addListener(MjListener);
        // eseguo il login
        messenger.login();
        // esegio il logout
        //messenger.logout();
    }

    public void start()
    {
        messenj = new Messenj();
        messenj.setVisible(true);
    }

    private void initObject()
    {
        this.finestreChat = new Hashtable();
        MjListener = new MessenjListener(this);
    }

    public static void main(String[] args)
    {
        InfoLogin il = new InfoLogin();
        il.setEmail("example@hotmail.it");
        il.setPass("tua-pass");
        il.setMsnUserStatus(MsnUserStatus.BUSY);
        new MessenjManager(il);
    }
}
